package co.com.bb;

import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;

import co.com.ejb.Delegado;
import co.com.ejb.DelegadoLocal;
import co.com.vo.CarreraVO;
import co.com.vo.TipoCarreraVO;


public class BackingBeanCarrera {

	private CarreraVO carreraVO;
	private List<CarreraVO> lista;
	private List<TipoCarreraVO> listaTipos;
	private TipoCarreraVO tipoCarreraVO;
	private List<SelectItem> listaItemTipos ;
	private DelegadoLocal delegado;
    /**
     * Default constructor. 
     */
    public BackingBeanCarrera() {
    	delegado = new Delegado();
    	carreraVO = new CarreraVO();
    	lista = new ArrayList<CarreraVO>();
    	listaTipos= delegado.selectAllTipoCarrera();
    	listaItemTipos= new ArrayList<SelectItem>();
    	tipoCarreraVO = new TipoCarreraVO();
    }
    
    public void insertCarrera(){
    	carreraVO.setTipoCarrera(tipoCarreraVO);
    	delegado.insertCarrera(carreraVO);
    }
    public void updateCarrera(){
    	carreraVO.setTipoCarrera(tipoCarreraVO);
    	delegado.updateCarrera(carreraVO);
    }
    public void deleteCarrera(){
    	carreraVO.setTipoCarrera(tipoCarreraVO);
    	delegado.deleteCarrera(carreraVO);
    }
    public void selectCarrera(){
    	carreraVO.setTipoCarrera(tipoCarreraVO);
    	lista=delegado.selectCarrera(carreraVO);
    }
    public void selectAllCarrera(){
    	carreraVO.setTipoCarrera(tipoCarreraVO);
    	lista=delegado.selectAllCarrera();
    }

	public CarreraVO getCarreraVO() {
		return carreraVO;
	}

	public void setCarreraVO(CarreraVO carreraVO) {
		this.carreraVO = carreraVO;
	}

	public List<CarreraVO> getLista() {
		return lista;
	}

	public void setLista(List<CarreraVO> lista) {
		this.lista = lista;
	}

	public List<TipoCarreraVO> getListaTipos() {
		return listaTipos;
	}

	public void setListaTipos(List<TipoCarreraVO> listaTipos) {
		this.listaTipos = listaTipos;
	}

	public List<SelectItem> getListaItemTipos() {
	
		for(TipoCarreraVO tipo: listaTipos){
			SelectItem item= new SelectItem();
			item.setLabel(tipo.getNombre());
			item.setValue(tipo.getId().intValue());
			listaItemTipos.add(item);
		}
		return listaItemTipos;
		
	}

	public void setListaItemTipos(List<SelectItem> listaItemTipos) {
		this.listaItemTipos = listaItemTipos;
	}

	public TipoCarreraVO getTipoCarreraVO() {
		return tipoCarreraVO;
	}

	public void setTipoCarreraVO(TipoCarreraVO tipoCarreraVO) {
		this.tipoCarreraVO = tipoCarreraVO;
	}

	
    

}
